/**
 *Copyright (c) 2024 watereyes
 * safetymanagement is licensed under Mulan PubL v2.
 * You can use this software according to the terms and conditions of the Mulan
 * PubL v2.
 * You may obtain a copy of Mulan PubL v2 at:
 *          http://license.coscl.org.cn/MulanPubL-2.0
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PubL v2 for more details.
 */
package com.koron.hazardsource.domain;

import com.koron.common.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;
import java.util.List;

@ApiModel(value = "标准危险源", description = "标准危险源实体类")
public class HazardSource extends BaseEntity {

    public HazardSource() {
        super();
    }

    public HazardSource(String userCode, String userName) {
        super.setAddUser(userCode);
        super.setAddUserName(userName);
        super.setAddTime(new Date());
        super.setUpdateUser(userCode);
        super.setUpdateUserName(userName);
        super.setUpdateTime(super.getAddTime());
    }

    @ApiModelProperty(value = "危险源名称", name = "name", required = true)
    private String name;

    @ApiModelProperty(value = "危险源code", name = "code")
    private String code;

    @ApiModelProperty(value = "是否适用于所有业态", name = "fitAllBusiness", required = true)
    private Boolean fitAllBusiness;

    @ApiModelProperty(value = "危险源级别指标ID", name = "indicationLevelId", required = true)
    private String indicationLevelId;

    @ApiModelProperty(value = "危险源级别指标名称", name = "indicationLevelName", required = true)
    private String indicationLevelName;

    @ApiModelProperty(value = "业态ID", name = "businessTypeId", required = true)
    private String businessTypeId;

    @ApiModelProperty(value = "业态名称", name = "businessTypeId")
    private String businessTypeName;

    @ApiModelProperty(value = "危险源类型ID", name = "hazardTypeId", required = true)
    private String hazardTypeId;

    @ApiModelProperty(value = "危险源类型名称", name = "hazardTypeId")
    private String hazardTypeName;

    @ApiModelProperty(value = "检查表ID", name = "checklistEntryId")
    private String checklistEntryId;

    @ApiModelProperty(value = "状态: 0表示废弃、1表示发布", name = "state")
    private Integer state;

    @ApiModelProperty(value = "来源：1导入、2危险源清单，默认为1", name = "derivation", required = true)
    private Integer derivation;

    @ApiModelProperty(value = "来源id", name = "derivationids")
    private String derivationids;

    @ApiModelProperty(value = "状态标识：0草稿、1审批中、2审批通过", name = "fstatusflag")
    private Integer fstatusflag;

    @ApiModelProperty(value = "危险源风险等级", name = "riskLevel", required = true)
    private Integer riskLevel;

    @ApiModelProperty(value = "危险源风险等级名称", name = "riskLevelName", required = true)
    private String riskLevelName;

    @ApiModelProperty(value = "辨识方式", name = "identificationType", required = true)
    private String identificationType;

    private List<StandardRisk> risks;
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public Boolean getFitAllBusiness() {
        return fitAllBusiness;
    }

    public void setFitAllBusiness(Boolean fitAllBusiness) {
        this.fitAllBusiness = fitAllBusiness;
    }

    public String getBusinessTypeId() {
        return businessTypeId;
    }

    public void setBusinessTypeId(String businessTypeId) {
        this.businessTypeId = businessTypeId;
    }

    public String getHazardTypeId() {
        return hazardTypeId;
    }

    public void setHazardTypeId(String hazardTypeId) {
        this.hazardTypeId = hazardTypeId;
    }

    public String getChecklistEntryId() {
        return checklistEntryId;
    }

    public void setChecklistEntryId(String checklistEntryId) {
        this.checklistEntryId = checklistEntryId;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getDerivation() {
        return derivation;
    }

    public void setDerivation(Integer derivation) {
        this.derivation = derivation;
    }

    public String getBusinessTypeName() {
        return businessTypeName;
    }

    public void setBusinessTypeName(String businessTypeName) {
        this.businessTypeName = businessTypeName;
    }

    public String getHazardTypeName() {
        return hazardTypeName;
    }

    public void setHazardTypeName(String hazardTypeName) {
        this.hazardTypeName = hazardTypeName;
    }

    public Integer getFstatusflag() {
		return fstatusflag;
	}

	public void setFstatusflag(Integer fstatusflag) {
		this.fstatusflag = fstatusflag;
	}

	public List<StandardRisk> getRisks() {
		return risks;
	}

	public void setRisks(List<StandardRisk> risks) {
		this.risks = risks;
	}

	public String getDerivationids() {
		return derivationids;
	}

	public void setDerivationids(String derivationids) {
		this.derivationids = derivationids;
	}

    public String getIndicationLevelId() {
        return indicationLevelId;
    }

    public void setIndicationLevelId(String indicationLevelId) {
        this.indicationLevelId = indicationLevelId;
    }

    public String getIndicationLevelName() {
        return indicationLevelName;
    }

    public void setIndicationLevelName(String indicationLevelName) {
        this.indicationLevelName = indicationLevelName;
    }

    public Integer getRiskLevel() {
        return riskLevel;
    }

    public void setRiskLevel(Integer riskLevel) {
        this.riskLevel = riskLevel;
    }

    public String getRiskLevelName() {
        return riskLevelName;
    }

    public void setRiskLevelName(String riskLevelName) {
        this.riskLevelName = riskLevelName;
    }

    public String getIdentificationType() {
        return identificationType;
    }

    public void setIdentificationType(String identificationType) {
        this.identificationType = identificationType;
    }

    @Override
    public String toString() {
        return "HazardSource{" +
                "name='" + name + '\'' +
                ", code='" + code + '\'' +
                ", fitAllBusiness=" + fitAllBusiness +
                ", indicationLevelId='" + indicationLevelId + '\'' +
                ", businessTypeId='" + businessTypeId + '\'' +
                ", businessTypeName='" + businessTypeName + '\'' +
                ", hazardTypeId='" + hazardTypeId + '\'' +
                ", hazardTypeName='" + hazardTypeName + '\'' +
                ", checklistEntryId='" + checklistEntryId + '\'' +
                ", state=" + state +
                ", derivation=" + derivation +
                ", derivationids='" + derivationids + '\'' +
                ", fstatusflag=" + fstatusflag +
                ", risks=" + risks +
                '}';
    }
}
